// 83. 删除排序链表中的重复元素
// https://leetcode.cn/problems/remove-duplicates-from-sorted-list/
// 简单,给定一个已排序的链表的头 head ， 删除所有重复的元素，使每个元素只出现一次 。返回 已排序的链表 。
// 示例 1：
// 输入：head = [1,1,2]
// 输出：[1,2]
// 示例 2：
// 输入：head = [1,1,2,3,3]
// 输出：[1,2,3]

#include <bits/stdc++.h>
using namespace std;

struct ListNode {
    int val;
    ListNode *next;
    ListNode() : val(0), next(nullptr) {}
    ListNode(int x) : val(x), next(nullptr) {}
    ListNode(int x, ListNode *next) : val(x), next(next) {}
};
 
class Solution {
public:
    ListNode* deleteDuplicates(ListNode* head) {
        for (ListNode * cur = head; cur && cur->next; ) {
            if (cur->val == cur->next->val) {
                ListNode* p = cur->next;
                cur->next = cur->next->next;
                delete p;
            }else {
                cur = cur->next;
            }
        }
        return head;
    }
};

int main() {
	return 0;
}
